package ac.you.api.chat.i;

import ac.you.api.chat.Tellraw;
import ac.you.api.chat.Text;
import ac.you.api.chat.e.Cl;

public abstract class NormalText implements Text {
    public transient Tellraw tellraw;
    public String text;
    public Cl color;
    public boolean bold;
    public boolean italic;
    public boolean underlined;
    public boolean strikethrough;
    public boolean obfuscated;
    public String insertion;

    public NormalText(Tellraw tellraw, String text, Cl color, boolean bold, boolean italic, boolean underlined, boolean strikethrough, boolean obfuscated, String insertion) {
        this.tellraw = tellraw;
        this.text = text;
        this.color = color;
        this.bold = bold;
        this.italic = italic;
        this.underlined = underlined;
        this.strikethrough = strikethrough;
        this.obfuscated = obfuscated;
        this.insertion = insertion;
    }
    public NormalText(Tellraw tellraw, String text){
        this(tellraw,text,null,false,false,false,false,false,null);
    }

    @Override
    public String getContent() {
        return text;
    }

    @Override
    public String toJson() {
        return null;
    }

    @Override
    public Text color(Cl color) {
        this.color = color;
        return this;
    }

    @Override
    public Text bold(boolean i) {
        this.bold = i;
        return this;
    }

    @Override
    public Text italic(boolean i) {
        this.italic = i;
        return this;
    }

    @Override
    public Text underlined(boolean i) {
        this.underlined = i;
        return this;
    }

    @Override
    public Text strikethrough(boolean i) {
        this.strikethrough = i;
        return this;
    }

    @Override
    public Text obfuscated(boolean i) {
        this.obfuscated = i;
        return this;
    }

    @Override
    public Text insertion(String insertion) {
        this.insertion = insertion;
        return this;
    }

    @Override
    public Tellraw tellraw(){
        return tellraw;
    }
}
